cocos2dx 九宫格 shader失效的问题

最近一个同事使用UIImageView创建图片后,使用shader无效

经过查证发现这个图片如果是拉伸就有效,而九宫格无效

继续深挖 发现setScale9Enabled为true后,创建image的时候Scale9Sprite::createSlicedSprites()

会将原本的sprite替换为9个sprite,

可能有人会疑惑作者写这一部分的时候大部分sprite的设置会保留,

但是不知道为什么shader相关的却没有分别赋值。


其实是因为不少shader是无法全体适用的,比如流光效果,光照效果,如果分配到九个sprite上跟原本的效果就是大相径庭了。

而且可能会出现性能问题,所以还是推荐不要用九宫格来做shader,如果必须要用还是用普通的拉伸更靠谱一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值